package com.common.util;

import java.util.ArrayList;
import java.util.List;

import com.common.api.model.PageModel;
import com.common.web.dto.request.PageDTO;

public class PageUtil {

	/**
	 * 集合转换分页模型
	 * @param listAll
	 * @param dto
	 * @return
	 */
	public static <T> PageModel<T> listToPage(List<T> listAll,PageDTO dto){
		Integer startPage=dto.getStartPage();
		Integer pageSize =dto.getPageSize();
		long size=listAll.size();
		int maxIndex=(int) (size-1);
		int fromIndex=(startPage-1)*pageSize;
		if(fromIndex>maxIndex) {
			return new PageModel<>(new ArrayList<>(), size);
		}
		int toIndex=fromIndex+pageSize;
		if(toIndex>maxIndex) {
			toIndex=maxIndex;
		}
		List<T> result=listAll.subList(fromIndex, toIndex);;
		PageModel<T> model=new PageModel<>(result, size);
		return model;
	}
}
